Network devices may include various interfaces that have differing Maximum Transmission Units (MTUs). In this context, the MTU may represent and/or refer to the size of the largest packet capable of being transmitted via a certain interface. For example, a network device may include an internal interface that connects the routing engine to the packet forwarding engine and an egress interface that connects the packet forwarding engine of the network device to the packet forwarding engine of a remote device. In this example, the internal and egress interfaces may represent portions of a path by which packets traverse from the network device to the remote device.
The internal and egress interfaces may have different MTUs. As a specific example, the internal interface between the routing engine and the packet forwarding engine may have an MTU of 9000 bytes, and the egress interface between the packet forwarding engine of the network device and the packet forwarding engine of the remote device may have an MTU of 1500 bytes. As a result, packets travelling from the network device to the remote device along this path may need to include 1500 bytes or less.
Packet size is often determined and/or controlled by the operating system kernel of the routing engine within the network device. For example, an application running on the routing engine may issue a packet that is destined for the remote device and then pass the packet to the operating system kernel of the routing engine to facilitate the transfer to the remote device. In this example, when received by the operating system kernel, the packet may include 9000 bytes even though the egress interface has an MTU of only 1500 bytes. As a result, the operating system kernel may need to fragment the packet into smaller segments of 1500 bytes or less before the packet is able to successfully transfer from the network device to the remote device.
Unfortunately, in some scenarios and/or configurations, traditional operating system kernels may be unaware of the MTUs of certain interfaces. For example, the operating system kernel described above may be unaware that the MTU of the egress interface is 1500 bytes. As a result, the operating system kernel may pass the 9000-byte packet to the packet forwarding engine of the network device via the internal interface without ever fragmenting the packet into 1500-byte segments. The packet forwarding engine may be unable to forward the 9000-byte packet to the remote device via the egress interface due to the packet size exceeding the egress interface's MTU. Consequently, the transfer of this packet may fail.
The instant disclosure, therefore, identifies and addresses a need for additional and improved apparatuses, devices, and methods for fragmenting packets into segments that comply with the MTU of egress interfaces.